﻿<?xml version="1.0" encoding="utf-8" ?>
<ViewModels
  Company="Company"
  Namespace="Fulcrum.ViewModelGenerator.UnitTests"
  Copyright="Copyright">
  
  <ViewModel
    Name="TestSample"
    Summary="TestSample summary.">
    
    <Using>System.IO</Using>
    
    <Property
      Name="ValidatedStringProperty"
      Type="string"
      ValidateValue="true"
      DefaultValue="&quot;Hello, Fulcrum&quot;"
      Summary="Gets or sets StringProperty." />

    <Property
      Name="ReadOnlyIntProperty"
      Type="int"
      SetterVisibility="private"
      DefaultValue="10"
      Summary="Gets IntProperty." />

    <Property
      Name="ProtectedCharProperty"
      Type="char"
      SetterVisibility="protected"
      DefaultValue="'t'"
      Summary="Gets CharProperty." />

    <Property
      Name="CustomCompareProperty"
      Type="string"
      Comparison="Custom"
      DefaultValue="&quot;Custom compare&quot;"
      Summary="Gets or sets CustomCompareProperty." />

    <Property
      Name="StringCompareProperty"
      Type="string"
      Comparison="StringCompare"
      StringComparison="CurrentCultureIgnoreCase"
      DefaultValue="&quot;string compare&quot;"
      Summary="Gets or sets StringCompareProperty." />

    <Property
      Name="ReferenceCompareProperty"
      Type="string"
      Comparison="ReferenceEquals"
      DefaultValue="&quot;Reference compare&quot;"
      Summary="Gets or sets ReferenceCompareProperty." />

      <Property
        Name="EqualsCompareProperty"
        Type="int"
        DefaultValue="1"
        Summary="Gets or sets EqualsCompareProperty." />

      <Property
        Name="NotSerializableProperty"
        Type="int"
        DefaultValue="1"
        Serializable="false"
        Summary="Gets or sets NotSerializableProperty." />

      <Event
      Name="EventArgsEvent"
      EventArgsType="EventArgs"
      Summary="Boo" />

    <Event
      Name="NonEventArgsEvent"
      EventArgsType="FileSystemEventArgs"
      Summary="Boo" />
    
  </ViewModel>

  <ViewModel
    Name="TestSample2"
    ProvidePropertyChangedEvent="false">

    <Property
      Name="ReadOnlyIntProperty2"
      Type="int"
      SetterVisibility="private"
      DefaultValue="10"
      Summary="Gets IntProperty." />

  </ViewModel>

  <ViewModel
    Name="TestSample3"
    ProvidePropertyChangedEvent="false">

    <AttachedProperty
      Name="AttachedInt"
      Type="int"
      DefaultValue="15"
      IsReadonly="false"
      ValidateValue="true"
      GetSummary="Gets IntProperty."
      SetSummary="Sets IntProperty" />

    <AttachedProperty
      Name="ROAttachedInt"
      Type="string"
      DefaultValue="String.Empty"
      IsReadonly="true"
      GetSummary="Gets RO IntProperty."
      SetSummary="Sets RO IntProperty" />

  </ViewModel>

  <ViewModel
    Name="TestSample4"
    >

    <PassThroughProperty
      Name="WrappedInt"
      Type="int"
      SourceObject="inner"
      Summary="Gets WrappedInt."
      Remarks="Some remarks." />

    <PassThroughProperty
      Name="WrappedString"
      Type="string"
      Settable="true"
      SourceObject="inner"
      SourceProperty="AString"
      Summary="Gets WrappedString."
      />

  </ViewModel>
  
</ViewModels>
